# Copyright (C) 2020 Maxime Devos
# SPDX-License-Identifier: FSFAP
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.  This file is offered as-is,
# without any warranty.

# This is a configuration for testing.
# All network access is disabled, and the testing peer won't interact
# with a the user or system GNUnet services.
#
# Many services are disabled, some of which aren't started by default.
# Perhaps that is strictly speaking not required, but this could prevent
# accidental usage.
#
# TODO: for example, does gnunet-arm -s -c 'nonetconf.conf' load
# /etc/something by default?

[PATHS]
GNUNET_TEST_HOME = $GNUNET_TMP
GNUNET_RUNTIME_DIR = $GNUNET_TEST_HOME/runtime
GNUNET_USER_RUNTIME_DIR = $GNUNET_TEST_HOME/runtime

[arm]
UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-service-arm.sock

[rehash]
IMMEDIATE_START = YES
START_ON_DEMAND = YES
BINARY = @rehash_binary@
UNIXPATH = $GNUNET_RUNTIME_DIR/rehash-service.sock

[dht]
IMMEDIATE_START = YES
START_ON_DEMAND = YES

[arm]
DEFAULTSERVICES = rehash dht datastore

[ats]
WAN_QUOTA_IN = 1 GB
WAN_QUOTA_OUT = 1 GB

[transport]
PLUGINS = unix

# Some optimisations

# dht requires nse, and nse is a bit intensive at times,
# so break some security properties to make it faster
# (This is only a configuration for testing)
# TODO: can nse be disabled?
[nse]
INTERVAL = 512 h
WORKBITS = 1

[peerinfo]
NO_IO = NO
# no networking!
USE_INCLUDED_HELLOS = NO

# The following are unused, so don't start them.
# But feel free to set START_ON_DEMAND to YES
# if you find a use for it in rehash.
[gns]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[identity]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[namecache]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[namestore]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[reclaim]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[regex]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[resolver]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[revocation]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[zonemaster]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[zonemaster-monitor]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

# The following are undesired, as they access the network.
# (Possibly only loopback, but that could still interfere)

# don't try supporting connecting to external peers 
[nat]
DISABLEV6 = YES
BINDTO = 127.0.0.1
ENABLE_UPNP = NO
USE_STUN = NO
BEHIND_NAT = NO
ALLOW_NAT = NO
INTERNAL_ADDRESS = 127.0.0.1
EXTERNAL_ADDRESS = 127.0.0.1
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[nat-auto]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[gnunet-nat-server]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[hostlist]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[vpn]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[dns]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[exit]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[dns2gns]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[gns-proxy]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[fcfsd]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[pt]
IMMEDIATE_START = NO
START_ON_DEMAND = NO
BINARY = /bin/false

[resolver]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false

[rest]
START_ON_DEMAND = NO
IMMEDIATE_START = NO
BINARY = /bin/false
